Aspects of the present invention relate generally to the field of video production, and more specifically to the creation of computer generated images.
In the field of computer graphics and animation for film and television production thousands of individual elements of data contribute to producing the imagery seen in the final product. For example, to produce a scene, several objects may have been rendered using multiple processes and each object may have been created using several assets. For example, an object in a scene may have associated geometries and curves. To create the object, multiple geometries and assets may have been utilized, and to illustrate motion, an object may be associated with a curve, along which the motion of the object will be animated. For example, a tree in a forest consisting of hundreds of trees will have several assets including leaf objects, each having an associated geometry, and assets, including randomization algorithms for the patterns of the leaves on the tree, and curves representing motion of the tree due to wind.
A media file for storing the scene may include a series of frames, each frame having a grid of pixels. Each pixel will have an associated value usually meant for the sole presentation of an image. However, the process of creating that pixel may have been the result of a very complex hierarchy of data that may include modeling, rigging, animation, lighting and rendering of objects in a scene. Additionally, this hierarchy may have been created and modified by multiple users along the production pipeline. Therefore, when accessing the final product, generally an image file, there is no sure way to know which assets were utilized to create the objects in the image. In order to adjust an object in the scene, a user would need to identify which object needs adjustment and all the assets used to make up that object. Such identification is conventionally done manually, is difficult to predict, and often takes a significant amount of time. In some cases it is impossible, for example, functions that produce a random, non-repeatable output often contribute to the final product.
Accordingly, there is a need in the art for a system that provides direct access to the assets that make up a scene such that access to the assets is straightforward and predictable.